//
//  MGViewController.h
//  Pods-MGUIKit_Example
//
//  Created by XXX on 2018/7/28.
//

#import <UIKit/UIKit.h>
#import "PTNavigationBar.h"

@interface PTViewController : UIViewController

///隐藏导航栏
@property(nonatomic, assign)BOOL nagigationBarHidden;

///默认NO，若页面需要设置Navigationbar透明，则此选项需设置为YES，此设置需要放在super viewDidLoad之前。
@property(nonatomic, assign)BOOL useCustomNavigationBar;//此设置需要放在super viewDidLoad之前。

//自定义导航栏
@property (nonatomic, strong) PTNavigationBar *mgNavigationBar;

/**
 * 该方法仅在 useCustomNavigationBar 为YES时使用有效;
 * 自定义导航栏时，设置右边按钮
 * @param buttonTitle 按钮文字
 */
- (void)setRightBarItemWithButtonTitle:(NSString *)buttonTitle target:(id)target action:(SEL)action;
/**
 * 系统导航栏时，设置右边按钮
 * @param buttonTitle 按钮文字
 */
- (void)setupSystemRightBarButtonItem:(NSString *)title;
/**
 * 系统导航栏时，设置右边按钮
 * @param icon 图标
 */
- (void)setupSystemRightBarButtonWithImage:(NSString *)icon;

/**
 * 系统导航栏时，设置左边按钮
 * @param icon 图标
 */
- (void)setupSystemLeftBarButtonWithImage:(NSString *)icon;
/**
 * 该方法仅在 useCustomNavigationBar 为YES时使用有效;
 * 自定义导航栏时，设置右边按钮
 * @param image 按钮图片
 */
- (void)setRightBarItemWithImage:(UIImage *)image target:(id)target action:(SEL)action;

/**
 * 该方法仅在 useCustomNavigationBar 为YES时使用有效;
 * 自定义导航栏时，设置右边按钮
 * @param button 按钮，如果传nil,则移除所有右边按钮
 */
- (void)setRightBarItemWithButton:(UIButton *)button;

/**
 * 该方法仅在 useCustomNavigationBar 为YES时使用有效;
 * 自定义导航栏时，设置右边按钮，依次从右往左排列，仅支持最多2个按钮
 * @param buttons 按钮数组，如果传nil或空数组,则移除所有右边按钮
 */
- (void)setRightBarItemWithButtons:(NSArray *)buttons;

/**
 * 该方法仅在 useCustomNavigationBar 为YES时使用有效;
 * 自定义导航栏时，设置左边按钮，依次从左往右排列，仅支持最多2个按钮，若为nil，则设置为默认的返回按钮
 * @param buttons 按钮数组
 */
- (void)setLeftBarItemWithButtons:(NSArray *)buttons;

/**
 * 该方法仅在 useCustomNavigationBar 为YES时使用有效;
 * alpha 为透明度, 默认为1；需透明则设置为0
 */
- (void)setNavigationBarAlpha:(CGFloat)alpha;

/**
 * 系统导航栏右边按钮事件， 子类重写
 */
- (void)rightBtnAction;

@end
